<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>cpp-any: any Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">cpp-any
   </div>
   <div id="projectbrief">Implementation of std::any class of C++17 standard under C++11 standard</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classany-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">any Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The class any describes a type-safe container for single values of any type.  
 <a href="classany.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="any_8h_source.html">any.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a3d182c219b62132a93463ebf6831b8e2"><td class="memTemplParams" colspan="2">template&lt;typename _Res , typename _Tp , typename... _Args&gt; </td></tr>
<tr class="memitem:a3d182c219b62132a93463ebf6831b8e2"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classany.html#a3d182c219b62132a93463ebf6831b8e2">_any_constructible</a> = std::enable_if&lt; <a class="el" href="structdetail_1_1__and.html">detail::_and</a>&lt; std::is_copy_constructible&lt; _Tp &gt;, std::is_constructible&lt; _Tp, _Args... &gt; &gt;::value, _Res &gt;</td></tr>
<tr class="separator:a3d182c219b62132a93463ebf6831b8e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06286b297dc737d020cce31a2cc65a22"><td class="memTemplParams" colspan="2">template&lt;typename _Tp , typename... _Args&gt; </td></tr>
<tr class="memitem:a06286b297dc737d020cce31a2cc65a22"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classany.html#a06286b297dc737d020cce31a2cc65a22">_any_constructible_t</a> = typename <a class="el" href="classany.html#a3d182c219b62132a93463ebf6831b8e2">_any_constructible</a>&lt; bool, _Tp, _Args... &gt;::type</td></tr>
<tr class="separator:a06286b297dc737d020cce31a2cc65a22"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a4807cc2f65c6e677e3f53b39274c9528"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classany.html#a4807cc2f65c6e677e3f53b39274c9528">any</a> () noexcept</td></tr>
<tr class="separator:a4807cc2f65c6e677e3f53b39274c9528"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34a926505ba320df0e4ae2f001ed858f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classany.html#a34a926505ba320df0e4ae2f001ed858f">any</a> (const <a class="el" href="classany.html">any</a> &amp;other)</td></tr>
<tr class="separator:a34a926505ba320df0e4ae2f001ed858f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a901fcf91bdb368a4b722f87193d60661"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classany.html#a901fcf91bdb368a4b722f87193d60661">any</a> (<a class="el" href="classany.html">any</a> &amp;&amp;other) noexcept</td></tr>
<tr class="separator:a901fcf91bdb368a4b722f87193d60661"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a870a5615f0324951f712342b30864730"><td class="memTemplParams" colspan="2">template&lt;typename _ValueType , typename _Tp  = Decay&lt;_ValueType&gt;, typename Mgr  = Manager&lt;_Tp&gt;, _any_constructible_t&lt; _Tp, _ValueType &amp;&amp; &gt;  = true, typename std::enable_if&lt;!detail::_is_in_place_type&lt; _Tp &gt;::value, bool &gt;::type  = true&gt; </td></tr>
<tr class="memitem:a870a5615f0324951f712342b30864730"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classany.html#a870a5615f0324951f712342b30864730">any</a> (_ValueType &amp;&amp;value)</td></tr>
<tr class="separator:a870a5615f0324951f712342b30864730"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88a9b59920fa3de25629bcd8932563ca"><td class="memTemplParams" colspan="2">template&lt;typename _ValueType , typename _Tp  = Decay&lt;_ValueType&gt;, typename Mgr  = Manager&lt;_Tp&gt;, typename std::enable_if&lt; detail::_and_v&lt; std::is_copy_constructible&lt; _Tp &gt;, detail::_not&lt; std::is_constructible&lt; _Tp, _ValueType &amp;&amp; &gt;&gt;, detail::_not&lt; detail::_is_in_place_type&lt; _Tp &gt;&gt;&gt;(), bool &gt;::value  = false&gt; </td></tr>
<tr class="memitem:a88a9b59920fa3de25629bcd8932563ca"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classany.html#a88a9b59920fa3de25629bcd8932563ca">any</a> (_ValueType &amp;&amp;value)</td></tr>
<tr class="separator:a88a9b59920fa3de25629bcd8932563ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3c94d77351aef76e47de20078023c45"><td class="memTemplParams" colspan="2">template&lt;typename _ValueType , typename... _Args, typename _Tp  = Decay&lt;_ValueType&gt;, typename Mgr  = Manager&lt;_Tp&gt;, _any_constructible_t&lt; _Tp, _Args &amp;&amp;... &gt;  = false&gt; </td></tr>
<tr class="memitem:ad3c94d77351aef76e47de20078023c45"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classany.html#ad3c94d77351aef76e47de20078023c45">any</a> (<a class="el" href="structdetail_1_1__in__place__type__t.html">detail::_in_place_type_t</a>&lt; _ValueType &gt;, _Args &amp;&amp;... args)</td></tr>
<tr class="separator:ad3c94d77351aef76e47de20078023c45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a996209c15a7032f58e9bd8f0ffadbcf5"><td class="memTemplParams" colspan="2">template&lt;typename _ValueType , typename _Up , typename... _Args, typename _Tp  = Decay&lt;_ValueType&gt;, typename Mgr  = Manager&lt;_Tp&gt;, _any_constructible_t&lt; _Tp, std::initializer_list&lt; _Up &gt;, _Args &amp;&amp;... &gt;  = false&gt; </td></tr>
<tr class="memitem:a996209c15a7032f58e9bd8f0ffadbcf5"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classany.html#a996209c15a7032f58e9bd8f0ffadbcf5">any</a> (<a class="el" href="structdetail_1_1__in__place__type__t.html">detail::_in_place_type_t</a>&lt; _ValueType &gt;, std::initializer_list&lt; _Up &gt; list, _Args &amp;&amp;... args)</td></tr>
<tr class="separator:a996209c15a7032f58e9bd8f0ffadbcf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2984bd733b273daa0a9ad72df9af4b21"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classany.html#a2984bd733b273daa0a9ad72df9af4b21">~any</a> ()</td></tr>
<tr class="separator:a2984bd733b273daa0a9ad72df9af4b21"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cf81fb23973bf898205c5887fcf184f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classany.html">any</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classany.html#a2cf81fb23973bf898205c5887fcf184f">operator=</a> (const <a class="el" href="classany.html">any</a> &amp;rhs)</td></tr>
<tr class="separator:a2cf81fb23973bf898205c5887fcf184f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc424d2bfde0408650005ed9d980fc2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classany.html">any</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classany.html#afc424d2bfde0408650005ed9d980fc2a">operator=</a> (<a class="el" href="classany.html">any</a> &amp;&amp;rhs) noexcept</td></tr>
<tr class="separator:afc424d2bfde0408650005ed9d980fc2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5a318ea7b956c2423a75b425b989745"><td class="memTemplParams" colspan="2">template&lt;typename _ValueType &gt; </td></tr>
<tr class="memitem:af5a318ea7b956c2423a75b425b989745"><td class="memTemplItemLeft" align="right" valign="top">std::enable_if&lt; std::is_copy_constructible&lt; Decay&lt; _ValueType &gt; &gt;::value, <a class="el" href="classany.html">any</a> &amp; &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classany.html#af5a318ea7b956c2423a75b425b989745">operator=</a> (_ValueType &amp;&amp;rhs)</td></tr>
<tr class="separator:af5a318ea7b956c2423a75b425b989745"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a556c0d011680e51682b42650128c85cb"><td class="memTemplParams" colspan="2">template&lt;typename _ValueType , typename... _Args&gt; </td></tr>
<tr class="memitem:a556c0d011680e51682b42650128c85cb"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classany.html#a3d182c219b62132a93463ebf6831b8e2">_any_constructible</a>&lt; Decay&lt; _ValueType &gt; &amp;, Decay&lt; _ValueType &gt;, _Args &amp;&amp;... &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classany.html#a556c0d011680e51682b42650128c85cb">emplace</a> (_Args &amp;&amp;... args)</td></tr>
<tr class="separator:a556c0d011680e51682b42650128c85cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0f399ff0e47c7bf5a52ca5c565d7053"><td class="memTemplParams" colspan="2">template&lt;typename _ValueType , typename _Up , typename... _Args&gt; </td></tr>
<tr class="memitem:ac0f399ff0e47c7bf5a52ca5c565d7053"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classany.html#a3d182c219b62132a93463ebf6831b8e2">_any_constructible</a>&lt; Decay&lt; _ValueType &gt; &amp;, Decay&lt; _ValueType &gt;, std::initializer_list&lt; _Up &gt;, _Args &amp;&amp;... &gt;::type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classany.html#ac0f399ff0e47c7bf5a52ca5c565d7053">emplace</a> (std::initializer_list&lt; _Up &gt; list, _Args &amp;&amp;... args)</td></tr>
<tr class="separator:ac0f399ff0e47c7bf5a52ca5c565d7053"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c4a11253f803d135685e115cf7054d8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classany.html#a6c4a11253f803d135685e115cf7054d8">reset</a> () noexcept</td></tr>
<tr class="separator:a6c4a11253f803d135685e115cf7054d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b22cb0a30ac185ccc24bdc819497088"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classany.html#a7b22cb0a30ac185ccc24bdc819497088">swap</a> (<a class="el" href="classany.html">any</a> &amp;rhs) noexcept</td></tr>
<tr class="separator:a7b22cb0a30ac185ccc24bdc819497088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee1aabbbe7c8e3197605c0f8055e5e5a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classany.html#aee1aabbbe7c8e3197605c0f8055e5e5a">has_value</a> () const noexcept</td></tr>
<tr class="separator:aee1aabbbe7c8e3197605c0f8055e5e5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ae6a947b5553c63a8723946bf102ac1ee"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:ae6a947b5553c63a8723946bf102ac1ee"><td class="memTemplItemLeft" align="right" valign="top">static constexpr bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classany.html#ae6a947b5553c63a8723946bf102ac1ee">_is_valid_cast</a> ()</td></tr>
<tr class="separator:ae6a947b5553c63a8723946bf102ac1ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ab8ee13016b3a7225d73b9b580c8d29b0"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:ab8ee13016b3a7225d73b9b580c8d29b0"><td class="memTemplItemLeft" align="right" valign="top">void *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classany.html#ab8ee13016b3a7225d73b9b580c8d29b0">_any_caster</a> (const <a class="el" href="classany.html">any</a> *__any)</td></tr>
<tr class="separator:ab8ee13016b3a7225d73b9b580c8d29b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The class any describes a type-safe container for single values of any type. </p>
<p>An object of class any stores an instance of any type that satisfies the constructor requirements or is empty, and this is referred to as the state of the class any object. The stored instance is called the contained object. Two states are equivalent if they are either both empty or if both are not empty and if the contained objects are equivalent.</p>
<p>The non-member any_cast functions provide type-safe access to the contained object.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="any_8h.html#af597db5576048a3aefd30ec700d36339">make_any()</a>, <a class="el" href="any_8h.html#a7686efd7fbdd733ca3fe088e719c0da8">any_cast()</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="any_8h_source.html#l00159">159</a> of file <a class="el" href="any_8h_source.html">any.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="a3d182c219b62132a93463ebf6831b8e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d182c219b62132a93463ebf6831b8e2">&#9670;&nbsp;</a></span>_any_constructible</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Res , typename _Tp , typename... _Args&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classany.html#a3d182c219b62132a93463ebf6831b8e2">any::_any_constructible</a> =  std::enable_if&lt;<a class="el" href="structdetail_1_1__and.html">detail::_and</a>&lt;std::is_copy_constructible&lt;_Tp&gt;, std::is_constructible&lt;_Tp, _Args...&gt; &gt;::value, _Res&gt;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="any_8h_source.html#l00250">250</a> of file <a class="el" href="any_8h_source.html">any.h</a>.</p>

</div>
</div>
<a id="a06286b297dc737d020cce31a2cc65a22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06286b297dc737d020cce31a2cc65a22">&#9670;&nbsp;</a></span>_any_constructible_t</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp , typename... _Args&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">using <a class="el" href="classany.html#a06286b297dc737d020cce31a2cc65a22">any::_any_constructible_t</a> =  typename <a class="el" href="classany.html#a3d182c219b62132a93463ebf6831b8e2">_any_constructible</a>&lt;bool, _Tp, _Args...&gt;::type</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="any_8h_source.html#l00253">253</a> of file <a class="el" href="any_8h_source.html">any.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a4807cc2f65c6e677e3f53b39274c9528"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4807cc2f65c6e677e3f53b39274c9528">&#9670;&nbsp;</a></span>any() <span class="overload">[1/7]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr any::any </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">constexpr</span><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Default constructor, creates an empty object.</p>
<dl class="section note"><dt>Note</dt><dd>Because the default constructor is constexpr, static anys are initialized as part of <a href="https://en.cppreference.com/w/cpp/language/initialization">static non-local initialization</a>, before any dynamic non-local initialization begins. This makes it safe to use an object of type any in a constructor of any static object. </dd></dl>

<p class="definition">Definition at line <a class="el" href="any_8cpp_source.html#l00016">16</a> of file <a class="el" href="any_8cpp_source.html">any.cpp</a>.</p>

</div>
</div>
<a id="a34a926505ba320df0e4ae2f001ed858f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34a926505ba320df0e4ae2f001ed858f">&#9670;&nbsp;</a></span>any() <span class="overload">[2/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">any::any </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classany.html">any</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Copies content of <em>other</em> into a new instance, so that any content is equivalent in both type and value to those of <em>other</em> prior to the constructor call, or empty if <em>other</em> is empty.</p>
<p>Formally, If <em>other</em> is empty, the constructed object is empty. Otherwise, equivalent to <code><a class="el" href="classany.html" title="The class any describes a type-safe container for single values of any type.">any(std::in_place_type&lt;T&gt;, std::any_cast&lt;const T&amp;&gt;(other))</a></code>, where <code>T</code> is the type of the object contained in <em>other</em>.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Throws</td><td>any exception thrown by the constructor of the contained type. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="any_8cpp_source.html#l00020">20</a> of file <a class="el" href="any_8cpp_source.html">any.cpp</a>.</p>

</div>
</div>
<a id="a901fcf91bdb368a4b722f87193d60661"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a901fcf91bdb368a4b722f87193d60661">&#9670;&nbsp;</a></span>any() <span class="overload">[3/7]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">any::any </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classany.html">any</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Moves content of <em>other</em> into a new instance, so that any content is equivalent in both type and value to those of <em>other</em> prior to the constructor call, or empty if <em>other</em> is empty.</p>
<p>Formally, If <em>other</em> is empty, the constructed object is empty. Otherwise, the constructed object contains either the object contained in other, or an object of the same type constructed from the object contained in other, considering that object as an rvalue. </p>

<p class="definition">Definition at line <a class="el" href="any_8cpp_source.html#l00031">31</a> of file <a class="el" href="any_8cpp_source.html">any.cpp</a>.</p>

</div>
</div>
<a id="a870a5615f0324951f712342b30864730"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a870a5615f0324951f712342b30864730">&#9670;&nbsp;</a></span>any() <span class="overload">[4/7]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ValueType , typename _Tp  = Decay&lt;_ValueType&gt;, typename Mgr  = Manager&lt;_Tp&gt;, _any_constructible_t&lt; _Tp, _ValueType &amp;&amp; &gt;  = true, typename std::enable_if&lt;!detail::_is_in_place_type&lt; _Tp &gt;::value, bool &gt;::type  = true&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">any::any </td>
          <td>(</td>
          <td class="paramtype">_ValueType &amp;&amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Constructs an object with initial content an object of type <code>std::decay_t&lt;_ValueType&gt;</code> , <a href="https://en.cppreference.com/w/cpp/language/direct_initialization">direct-initialized</a> from std::forward&lt;_ValueType&gt;(value). If std::is_copy_constructible&lt;std::decay_t&lt;_ValueType&gt;&gt;::value is false, the program is ill-formed.</p>
<ul>
<li>This overload only participates in overload resolution if <code>std::decay_t&lt;_ValueType&gt;</code> is not the same type as any nor a specialization of <code>std::in_place_type_t</code> , and <code>std::is_copy_constructible_v&lt;std::decay_t&lt;_ValueType&gt;&gt;</code> is true.</li>
</ul>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Throws</td><td>any exception thrown by the constructor of the contained type. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="any_8h_source.html#l00271">271</a> of file <a class="el" href="any_8h_source.html">any.h</a>.</p>

</div>
</div>
<a id="a88a9b59920fa3de25629bcd8932563ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88a9b59920fa3de25629bcd8932563ca">&#9670;&nbsp;</a></span>any() <span class="overload">[5/7]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ValueType , typename _Tp  = Decay&lt;_ValueType&gt;, typename Mgr  = Manager&lt;_Tp&gt;, typename std::enable_if&lt; detail::_and_v&lt; std::is_copy_constructible&lt; _Tp &gt;, detail::_not&lt; std::is_constructible&lt; _Tp, _ValueType &amp;&amp; &gt;&gt;, detail::_not&lt; detail::_is_in_place_type&lt; _Tp &gt;&gt;&gt;(), bool &gt;::value  = false&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">any::any </td>
          <td>(</td>
          <td class="paramtype">_ValueType &amp;&amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Constructs an object with initial content an object of type <code>std::decay_t&lt;_ValueType&gt;</code> , <a href="https://en.cppreference.com/w/cpp/language/direct_initialization">direct-initialized</a> from std::forward&lt;_ValueType&gt;(value). If std::is_copy_constructible&lt;std::decay_t&lt;_ValueType&gt;&gt;::value is false, the program is ill-formed.</p>
<ul>
<li>This overload only participates in overload resolution if <code>std::decay_t&lt;_ValueType&gt;</code> is not the same type as any nor a specialization of <code>std::in_place_type_t</code> , and <code>std::is_copy_constructible_v&lt;std::decay_t&lt;_ValueType&gt;&gt;</code> is true.</li>
</ul>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Throws</td><td>any exception thrown by the constructor of the contained type. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="any_8h_source.html#l00294">294</a> of file <a class="el" href="any_8h_source.html">any.h</a>.</p>

</div>
</div>
<a id="ad3c94d77351aef76e47de20078023c45"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3c94d77351aef76e47de20078023c45">&#9670;&nbsp;</a></span>any() <span class="overload">[6/7]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ValueType , typename... _Args, typename _Tp  = Decay&lt;_ValueType&gt;, typename Mgr  = Manager&lt;_Tp&gt;, _any_constructible_t&lt; _Tp, _Args &amp;&amp;... &gt;  = false&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">any::any </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdetail_1_1__in__place__type__t.html">detail::_in_place_type_t</a>&lt; _ValueType &gt;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Args &amp;&amp;...&#160;</td>
          <td class="paramname"><em>args</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Constructs an object with initial content an object of type <code>std::decay_t&lt;_ValueType&gt;</code> , <a href="https://en.cppreference.com/w/cpp/language/direct_initialization">direct-non-list-initialized</a> from <code>std::forward&lt;Args&gt;(args)</code>....</p>
<ul>
<li>This overload only participates in overload resolution if <code>std::is_constructible_v&lt;std::decay_t&lt;_ValueType&gt;, Args...&gt;</code> and <code>std::is_copy_constructible_v&lt;std::decay_t&lt;_ValueType&gt;&gt;</code> are both true.</li>
</ul>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Throws</td><td>any exception thrown by the constructor of the contained type. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="any_8h_source.html#l00315">315</a> of file <a class="el" href="any_8h_source.html">any.h</a>.</p>

</div>
</div>
<a id="a996209c15a7032f58e9bd8f0ffadbcf5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a996209c15a7032f58e9bd8f0ffadbcf5">&#9670;&nbsp;</a></span>any() <span class="overload">[7/7]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ValueType , typename _Up , typename... _Args, typename _Tp  = Decay&lt;_ValueType&gt;, typename Mgr  = Manager&lt;_Tp&gt;, _any_constructible_t&lt; _Tp, std::initializer_list&lt; _Up &gt;, _Args &amp;&amp;... &gt;  = false&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">any::any </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structdetail_1_1__in__place__type__t.html">detail::_in_place_type_t</a>&lt; _ValueType &gt;&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::initializer_list&lt; _Up &gt;&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Args &amp;&amp;...&#160;</td>
          <td class="paramname"><em>args</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Construct with an object created from <em>list</em> and <em>args</em> as the contained object.</p>
<p>Constructs an object with initial content an object of type std::decay_t&lt;_ValueType&gt;, <a href="https://en.cppreference.com/w/cpp/language/direct_initialization">direct-non-list-initialized</a> from <em>list</em>, std::forward&lt;_Args&gt;(args)....</p>
<ul>
<li>This overload participates in overload resolution only if <code>std::is_constructible_v&lt;std::decay_t&lt;_ValueType&gt;</code>, <code>std::initializer_list&lt;_Up&gt;&amp;, _Args...&gt;</code> and <code>std::is_copy_constructible_v&lt;std::decay_t&lt;_ValueType&gt;&gt;</code> are both true.</li>
</ul>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Throws</td><td>any exception thrown by the constructor of the contained type. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="any_8h_source.html#l00337">337</a> of file <a class="el" href="any_8h_source.html">any.h</a>.</p>

</div>
</div>
<a id="a2984bd733b273daa0a9ad72df9af4b21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2984bd733b273daa0a9ad72df9af4b21">&#9670;&nbsp;</a></span>~any()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">any::~any </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Destroys the contained object, if any, as if by a call to <a class="el" href="classany.html#a6c4a11253f803d135685e115cf7054d8">reset()</a>. </p>

<p class="definition">Definition at line <a class="el" href="any_8cpp_source.html#l00042">42</a> of file <a class="el" href="any_8cpp_source.html">any.cpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae6a947b5553c63a8723946bf102ac1ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6a947b5553c63a8723946bf102ac1ee">&#9670;&nbsp;</a></span>_is_valid_cast()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static constexpr bool any::_is_valid_cast </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span><span class="mlabel">constexpr</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="any_8h_source.html#l00475">475</a> of file <a class="el" href="any_8h_source.html">any.h</a>.</p>

</div>
</div>
<a id="a556c0d011680e51682b42650128c85cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a556c0d011680e51682b42650128c85cb">&#9670;&nbsp;</a></span>emplace() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ValueType , typename... _Args&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classany.html#a3d182c219b62132a93463ebf6831b8e2">_any_constructible</a>&lt;Decay&lt;_ValueType&gt;&amp;, Decay&lt;_ValueType&gt;, _Args&amp;&amp;...&gt;::type any::emplace </td>
          <td>(</td>
          <td class="paramtype">_Args &amp;&amp;...&#160;</td>
          <td class="paramname"><em>args</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Changes the contained object to one of type <code>std::decay_t&lt;_ValueType&gt;</code> constructed from the arguments. First destroys the current contained object (if any) by <a class="el" href="classany.html#a6c4a11253f803d135685e115cf7054d8">reset()</a>, then: constructs an object of type std::decay_t&lt;_ValueType&gt;, <a href="https://en.cppreference.com/w/cpp/language/direct_initialization">direct-non-list-initialized</a> from <code>std::forward&lt;Args&gt;(args)...</code>, as the contained object.</p>
<ul>
<li>This overload only participates in overload resolution if <code>std::is_constructible_v&lt;std::decay_t&lt;_ValueType&gt;, _Args...&gt;</code> and <code>std::is_copy_constructible_v&lt;std::decay_t&lt;_ValueType&gt;&gt;</code> are both true.</li>
</ul>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Throws</td><td>any exception thrown by T's constructor. If an exception is thrown, the previously contained object (if any) has been destroyed, and *this does not contain a value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code>std::decay_t&lt;_ValueType&gt;</code> must meet the requirements of <a href="https://en.cppreference.com/w/cpp/named_req/CopyConstructible">CopyConstructible</a>. </dd></dl>

<p class="definition">Definition at line <a class="el" href="any_8h_source.html#l00404">404</a> of file <a class="el" href="any_8h_source.html">any.h</a>.</p>

</div>
</div>
<a id="ac0f399ff0e47c7bf5a52ca5c565d7053"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0f399ff0e47c7bf5a52ca5c565d7053">&#9670;&nbsp;</a></span>emplace() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ValueType , typename _Up , typename... _Args&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classany.html#a3d182c219b62132a93463ebf6831b8e2">_any_constructible</a>&lt;Decay&lt;_ValueType&gt;&amp;, Decay&lt;_ValueType&gt;, std::initializer_list&lt;_Up&gt;, _Args&amp;&amp;...&gt;::type any::emplace </td>
          <td>(</td>
          <td class="paramtype">std::initializer_list&lt; _Up &gt;&#160;</td>
          <td class="paramname"><em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">_Args &amp;&amp;...&#160;</td>
          <td class="paramname"><em>args</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Changes the contained object to one of type <code>std::decay_t&lt;_ValueType&gt;</code> constructed from the arguments. First destroys the current contained object (if any) by <a class="el" href="classany.html#a6c4a11253f803d135685e115cf7054d8">reset()</a>, then: constructs an object of type <code>std::decay_t&lt;_ValueType&gt;</code>, <a href="https://en.cppreference.com/w/cpp/language/direct_initialization">direct-non-list-initialized</a> from <em>list</em>, <code>std::forward&lt;_Args&gt;(args)...</code>, as the contained object.</p>
<ul>
<li>This overload only participates in overload resolution if <code>std::is_constructible_v&lt;std::decay_t&lt;_ValueType&gt;, std::initializer_list&lt;_Up&gt;&amp;, _Args...&gt;</code> and <code>std::is_copy_constructible_v&lt;std::decay_t&lt;_ValueType&gt;&gt;</code> are both true.</li>
</ul>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">Throws</td><td>any exception thrown by T's constructor. If an exception is thrown, the previously contained object (if any) has been destroyed, and *this does not contain a value.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code>std::decay_t&lt;_ValueType&gt;</code> must meet the requirements of <a href="https://en.cppreference.com/w/cpp/named_req/CopyConstructible">CopyConstructible</a>. </dd></dl>

<p class="definition">Definition at line <a class="el" href="any_8h_source.html#l00432">432</a> of file <a class="el" href="any_8h_source.html">any.h</a>.</p>

</div>
</div>
<a id="aee1aabbbe7c8e3197605c0f8055e5e5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee1aabbbe7c8e3197605c0f8055e5e5a">&#9670;&nbsp;</a></span>has_value()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool any::has_value </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Checks whether the object contains a value.</p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if instance contains a value, otherwise <code>false</code>. </dd></dl>

<p class="definition">Definition at line <a class="el" href="any_8cpp_source.html#l00103">103</a> of file <a class="el" href="any_8cpp_source.html">any.cpp</a>.</p>

</div>
</div>
<a id="af5a318ea7b956c2423a75b425b989745"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5a318ea7b956c2423a75b425b989745">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ValueType &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::enable_if&lt;std::is_copy_constructible&lt;Decay&lt;_ValueType&gt; &gt;::value, <a class="el" href="classany.html">any</a>&amp;&gt;::type any::operator= </td>
          <td>(</td>
          <td class="paramtype">_ValueType &amp;&amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Assigns the type and value of rhs, as if by <code><a class="el" href="classany.html" title="The class any describes a type-safe container for single values of any type.">any(std::forward&lt;_ValueType&gt;(rhs))</a>.swap(*this)</code>. This overload participates in overload resolution only if <code>std::decay_t&lt;_ValueType&gt;</code> is not the same type as any and <code>std::is_copy_constructible_v&lt;std::decay_t&lt;_ValueType&gt;&gt;</code> is true.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">bad_alloc</td><td>or any exception thrown by the constructor of the contained type. If an exception is thrown, there are no effects (strong exception guarantee).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><code>std::decay_t&lt;_ValueType&gt;</code> must meet the requirements of <a href="https://en.cppreference.com/w/cpp/named_req/CopyConstructible">CopyConstructible</a>. </dd></dl>

<p class="definition">Definition at line <a class="el" href="any_8h_source.html#l00379">379</a> of file <a class="el" href="any_8h_source.html">any.h</a>.</p>

</div>
</div>
<a id="afc424d2bfde0408650005ed9d980fc2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc424d2bfde0408650005ed9d980fc2a">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classany.html">any</a> &amp; any::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classany.html">any</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Assigns by moving the state of <em>rhs</em>, as if by <a class="el" href="classany.html" title="The class any describes a type-safe container for single values of any type.">any(std::move(rhs))</a>.swap(*this). <em>rhs</em> is left in a valid but unspecified state after the assignment. </p>

<p class="definition">Definition at line <a class="el" href="any_8cpp_source.html#l00053">53</a> of file <a class="el" href="any_8cpp_source.html">any.cpp</a>.</p>

</div>
</div>
<a id="a2cf81fb23973bf898205c5887fcf184f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cf81fb23973bf898205c5887fcf184f">&#9670;&nbsp;</a></span>operator=() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classany.html">any</a> &amp; any::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classany.html">any</a> &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Assigns by copying the state of <em>rhs</em>, as if by <a class="el" href="classany.html" title="The class any describes a type-safe container for single values of any type.">any(rhs)</a>.swap(*this).</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">bad_alloc</td><td>or any exception thrown by the constructor of the contained type. If an exception is thrown, there are no effects (strong exception guarantee). </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="any_8cpp_source.html#l00047">47</a> of file <a class="el" href="any_8cpp_source.html">any.cpp</a>.</p>

</div>
</div>
<a id="a6c4a11253f803d135685e115cf7054d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c4a11253f803d135685e115cf7054d8">&#9670;&nbsp;</a></span>reset()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void any::reset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>If not empty, destroy the contained object. </p>

<p class="definition">Definition at line <a class="el" href="any_8cpp_source.html#l00066">66</a> of file <a class="el" href="any_8cpp_source.html">any.cpp</a>.</p>

</div>
</div>
<a id="a7b22cb0a30ac185ccc24bdc819497088"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b22cb0a30ac185ccc24bdc819497088">&#9670;&nbsp;</a></span>swap()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void any::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classany.html">any</a> &amp;&#160;</td>
          <td class="paramname"><em>rhs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Swaps the content of two any objects. </p>

<p class="definition">Definition at line <a class="el" href="any_8cpp_source.html#l00074">74</a> of file <a class="el" href="any_8cpp_source.html">any.cpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="ab8ee13016b3a7225d73b9b580c8d29b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8ee13016b3a7225d73b9b580c8d29b0">&#9670;&nbsp;</a></span>_any_caster</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _Tp &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void* _any_caster </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classany.html">any</a> *&#160;</td>
          <td class="paramname"><em>__any</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/eric/workspace/git-rep/cpp-any/<a class="el" href="any_8h_source.html">any.h</a></li>
<li>/home/eric/workspace/git-rep/cpp-any/<a class="el" href="any_8cpp_source.html">any.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
